﻿using System;

namespace Microsoft.Goldenlight.Framework
{
    /// <summary>
    /// 	EventArgs is the base class for classes containing event data.
    /// </summary>
    /// <typeparam name="T"> The type of the value in the EventArgs. </typeparam>
    public class EventArgs<T> : EventArgs
    {
        #region Fields & Properties

        private readonly T _value;

        /// <summary>
        /// 	Gets the value of the property after the change.
        /// </summary>
        public T Value
        {
            get
            {
                return _value;
            }
        }

        #endregion

        #region Constructors

        /// <summary>
        /// 	Initializes a new instance of the EventArgs class.
        /// </summary>
        /// <param name="value"> The value of the property after the change. </param>
        public EventArgs(T value)
        {
            _value = value;
        }

        #endregion
    }
}